﻿namespace com.binance.client.model.@event
{
	using BinanceApiConstants = com.binance.client.constant.BinanceApiConstants;
	using ToStringBuilder = org.apache.commons.lang3.builder.ToStringBuilder;

	public class CandlestickEvent
	{

		private string eventType;

		private long? eventTime;

		private string symbol;

		private long? startTime;

		private long? closeTime;

		private string interval;

		private long? firstTradeId;

		private long? lastTradeId;

		private decimal open;

		private decimal close;

		private decimal high;

		private decimal low;

		private decimal volume;

		private long? numTrades;

		private bool? isClosed;

		private decimal quoteAssetVolume;

		private decimal takerBuyBaseAssetVolume;

		private decimal takerBuyQuoteAssetVolume;

		private long? ignore;

		public virtual string EventType
		{
			get
			{
				return eventType;
			}
			set
			{
				this.eventType = value;
			}
		}


		public virtual long? EventTime
		{
			get
			{
				return eventTime;
			}
			set
			{
				this.eventTime = value;
			}
		}


		public virtual string Symbol
		{
			get
			{
				return symbol;
			}
			set
			{
				this.symbol = value;
			}
		}


		public virtual long? StartTime
		{
			get
			{
				return startTime;
			}
			set
			{
				this.startTime = value;
			}
		}


		public virtual long? CloseTime
		{
			get
			{
				return closeTime;
			}
			set
			{
				this.closeTime = value;
			}
		}


		public virtual string Interval
		{
			get
			{
				return interval;
			}
			set
			{
				this.interval = value;
			}
		}


		public virtual long? FirstTradeId
		{
			get
			{
				return firstTradeId;
			}
			set
			{
				this.firstTradeId = value;
			}
		}


		public virtual long? LastTradeId
		{
			get
			{
				return lastTradeId;
			}
			set
			{
				this.lastTradeId = value;
			}
		}


		public virtual decimal Open
		{
			get
			{
				return open;
			}
			set
			{
				this.open = value;
			}
		}


		public virtual decimal Close
		{
			get
			{
				return close;
			}
			set
			{
				this.close = value;
			}
		}


		public virtual decimal High
		{
			get
			{
				return high;
			}
			set
			{
				this.high = value;
			}
		}


		public virtual decimal Low
		{
			get
			{
				return low;
			}
			set
			{
				this.low = value;
			}
		}


		public virtual decimal Volume
		{
			get
			{
				return volume;
			}
			set
			{
				this.volume = value;
			}
		}


		public virtual long? NumTrades
		{
			get
			{
				return numTrades;
			}
			set
			{
				this.numTrades = value;
			}
		}


		public virtual bool? IsClosed
		{
			get
			{
				return isClosed;
			}
			set
			{
				this.isClosed = value;
			}
		}


		public virtual decimal QuoteAssetVolume
		{
			get
			{
				return quoteAssetVolume;
			}
			set
			{
				this.quoteAssetVolume = value;
			}
		}


		public virtual decimal TakerBuyBaseAssetVolume
		{
			get
			{
				return takerBuyBaseAssetVolume;
			}
			set
			{
				this.takerBuyBaseAssetVolume = value;
			}
		}


		public virtual decimal TakerBuyQuoteAssetVolume
		{
			get
			{
				return takerBuyQuoteAssetVolume;
			}
			set
			{
				this.takerBuyQuoteAssetVolume = value;
			}
		}


		public virtual long? Ignore
		{
			get
			{
				return ignore;
			}
			set
			{
				this.ignore = value;
			}
		}


		public override string ToString()
		{
			return (new ToStringBuilder(this, BinanceApiConstants.TO_STRING_BUILDER_STYLE)).append("eventType", eventType).append("eventTime", eventTime).append("symbol", symbol).append("startTime", startTime).append("closeTime", closeTime).append("symbol", symbol).append("interval", interval).append("firstTradeId", firstTradeId).append("lastTradeId", lastTradeId).append("open", open).append("close", close).append("high", high).append("low", low).append("volume", volume).append("numTrades", numTrades).append("isClosed", isClosed).append("quoteAssetVolume", quoteAssetVolume).append("takerBuyBaseAssetVolume", takerBuyBaseAssetVolume).append("takerBuyQuoteAssetVolume", takerBuyQuoteAssetVolume).append("ignore", ignore).ToString();
		}

	}

}